package com.ysd.shiro.service;

import java.util.List;

import com.ysd.shiro.entity.User;



public interface UserBackService {
	
	/**
	 * 后台的登录验证
	 * @param user
	 * @return
	 */
	public User backLogin(String name,String password);
	
	/**
	 * 按照条件查询出用户信息
	 * @return
	 */
	public List<User> queryAllUser(int setValue,int limit,String name,String gender,String isAdmin);
	/**
	 * 查询出user表里的总条数
	 * @return
	 */
	public int queryUserCounts(String name,String gender,String isAdmin);
	/**
	 * 添加一个用户
	 * @param user
	 * @return
	 */
	public Boolean addUser(User user);
	/**
	 * 根据id修改一个用户
	 * @param user
	 * @return
	 */
	public Boolean editUserById(User user);
	/**
	 * 根据ids批量的删除用户
	 * @param ids
	 * @return
	 */
	public Boolean delAllUserByIds(String id);
	/**
	 * 根据id删除一个用户
	 * @param id
	 * @return
	 */
	public Boolean delUserById(int id);

	/**
	 * 当用户登录时，修改用户的登录时间
	 * @param id
	 */
	public void editUserLastLoginTimeById(Integer id);
	
	
	/**
	 * 用与查询出是否存在该用户名如存在则等级错误次数
	 * @param name
	 * @return
	 */
	public User queryUserByNameVerifyError(String name);

	/**
	 * 编辑用户账号的是否锁定状态
	 * @param id
	 * @param number
	 * @return
	 */
	public Boolean editUserIsLockById(Integer id, Integer number);

	/**
	 * 修改用户账户是否成为管理员
	 * @param id
	 * @param number
	 * @return
	 */
	public Boolean editUserAdminStatusById(Integer id, Integer number);

	/**
	 * 查询出所有用户用于订单页面下拉框展示
	 * @return
	 */
	public List<User> queryAllUserWitchOrderIndoSelect();

	/**
	 * 编辑管理员的错误次数根据id
	 * @param id
	 * @param errorCount
	 */
	public void eidtUserErrorCountById(Integer id, int errorCount, String datestr);

	/**
	 * 在个人信息页编辑基础的登录者用户信息
	 * @param user
	 * @return
	 */
	public Boolean editUserBasicInformationById(User user);

	/**
	 * 查询出所有用户的信息根据name来查询如查询出有者给提示信息用户名不能重复
	 * @param newName
	 * @return
	 */
	public Boolean queryAllUserByNameWitchVerify(String newName);

	/**
	 * {前台}登录验证
	 * @param name
	 * @param password
	 * @return
	 */
	public User frontLogin(String name, String password);
	
	/**
	 * 按照条件查询用户信息
	 */

	public List<User> findUserByParm(User user);
	
	//按照id进行查询
	public User findUserById(int id);
}
